/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;

/**
 * El público y sus acciones
 * @author odeen
 */
@Aspect
public class PublicoColado {
    @Pointcut ("execution(void *.llevarACabo())")
    public void llevarACabo(){}

    @Before("llevarACabo()")
    void sentarse() {
        System.out.println("Buscando hueco, porque no tengo entrada con asiento.");
    }
    @Before("llevarACabo()")
    void apagarMóviles() {
        System.out.println("Apagando el móvil.");
    }

    @AfterReturning("llevarACabo()")
    void aplaudir() {
        System.out.println("Aplaudiendo!!!!");
    }

    @AfterThrowing("llevarACabo()")
    void pedirDevolución() {
        System.out.println("Pidiendo reembolso de entradas, por si cuela.");
    }

}
